package 双Value类型

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object cartesian {
    //创建两个RDD，计算两个RDD的笛卡尔积
    def main(args: Array[String]): Unit = {

        val config: SparkConf = new SparkConf().setMaster("local[*]").setAppName("WordCount")

        val sc = new SparkContext(config)

        val listRDD: RDD[Int] = sc.makeRDD(List(1, 2, 3, 4, 5))

        val ArrayRDD: RDD[Int] = sc.parallelize(Array(5, 6, 7))

        val cartesianRDD: RDD[(Int, Int)] = listRDD.cartesian(ArrayRDD)

        cartesianRDD.collect().foreach(println)

        val cartesianRDDD2: RDD[(Int, Int)] = ArrayRDD.cartesian(listRDD)

        cartesianRDDD2.collect().foreach(println)


    }

}
